package com.traceability.trace.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.traceability.common.annotation.Excel;
import com.traceability.common.core.domain.BaseEntity;

/**
 * 运输管理对象 logistics
 * 
 * @author xulin
 * @date 2025-01-09
 */
public class Logistics extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long logisticsId;

    /** 发货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shippingDate;

    /** 到货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date arrivalDate;

    /** 运输方式 */
    @Excel(name = "运输方式")
    private String transportMode;

    /** 物流公司 */
    @Excel(name = "物流公司")
    private String logisticsCompany;

    /** 物流单号 */
    @Excel(name = "物流单号")
    private String trackingNumber;

    public void setLogisticsId(Long logisticsId) 
    {
        this.logisticsId = logisticsId;
    }

    public Long getLogisticsId() 
    {
        return logisticsId;
    }
    public void setShippingDate(Date shippingDate) 
    {
        this.shippingDate = shippingDate;
    }

    public Date getShippingDate() 
    {
        return shippingDate;
    }
    public void setArrivalDate(Date arrivalDate) 
    {
        this.arrivalDate = arrivalDate;
    }

    public Date getArrivalDate() 
    {
        return arrivalDate;
    }
    public void setTransportMode(String transportMode) 
    {
        this.transportMode = transportMode;
    }

    public String getTransportMode() 
    {
        return transportMode;
    }
    public void setLogisticsCompany(String logisticsCompany) 
    {
        this.logisticsCompany = logisticsCompany;
    }

    public String getLogisticsCompany() 
    {
        return logisticsCompany;
    }
    public void setTrackingNumber(String trackingNumber) 
    {
        this.trackingNumber = trackingNumber;
    }

    public String getTrackingNumber() 
    {
        return trackingNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("logisticsId", getLogisticsId())
            .append("shippingDate", getShippingDate())
            .append("arrivalDate", getArrivalDate())
            .append("transportMode", getTransportMode())
            .append("logisticsCompany", getLogisticsCompany())
            .append("trackingNumber", getTrackingNumber())
            .toString();
    }
}
